Nmap(Network Mapper)是一款功能強大的開源網絡掃描工具,廣泛用於網絡安全評估、滲透測試、網絡監控和故障排除。它可以探測網絡中的主機、掃描開放端口、識別運行的服務、探測操作系統等。以下是 Nmap 的一些核心功能和特性:
1. 基本功能
- 主機發現:
用於識別網絡中存在哪些主機。Nmap 可以掃描指定範圍的 IP 地址,找出在線的設備。
nmap -sP 192.168.1.0/24
- 端口掃描:
掃描主機上的開放端口,以識別哪些端口正在接受連接。Nmap 支持多種掃描技術,如 SYN 掃描、全連接掃描等。
nmap -p 22,80,443 example.com
- 服務版本探測:
確定運行在開放端口上的服務及其版本信息,這有助於識別潛在的漏洞。
nmap -sV example.com
- 操作系統探測:
根據主機的網絡響應來猜測其操作系統版本。
nmap -O example.com
2. 進階功能
- 腳本引擎(Nmap Scripting Engine, NSE):
Nmap 支持使用腳本來進行高級掃描和漏洞探測。NSE 提供了多種預設腳本,並允許用戶編寫自定義腳本。
nmap --script http-enum example.com
- 防火牆和 IDS/IPS 測試:
Nmap 可以用來測試防火牆和入侵檢測系統的有效性,通過不同的掃描技術來檢測是否能夠繞過這些安全設備。
nmap -sS -f example.com
- 流量分析:
Nmap 提供了掃描流量的詳細信息,幫助用戶理解掃描過程和結果。
3. 使用範例
nmap example.com
nmap -p 1-65535 example.com
nmap -A example.com
nmap 192.168.1.1 192.168.1.2
nmap 192.168.1.0/24
nmap --script http-enum -p 80 example.com
4. 選項和參數
- -sS: SYN 掃描(半開掃描),快速且隱蔽。
- -sT: 全連接掃描,建立完整的 TCP 連接。
- -p: 指定要掃描的端口或端口範圍。
- -O: 操作系統探測。
- -sV: 服務版本探測。
- -A: 啟用操作系統探測、版本探測、腳本掃描等高級功能。
- --script: 使用指定的 NSE 腳本進行掃描。
- -T: 設定掃描速度(從 0 到 5,0 最慢,5 最快)。
5. 常見用途
- 安全測試:檢測網絡中的漏洞,評估系統的安全性。
- 網絡管理:了解網絡設備配置,檢查網絡拓撲和設備狀態。
- 故障排除:診斷網絡連接問題,找出開放的端口和運行的服務。